//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
//

package com.caigua.mgp.mg.codegen.customize.javamapper.elements;

import java.util.Set;
import java.util.TreeSet;

import com.caigua.mgp.mg.internal.CustomizeIntrospectedTableMyBatis3Impl;
import org.mybatis.generator.api.dom.java.*;
import org.mybatis.generator.codegen.mybatis3.javamapper.elements.AbstractJavaMapperMethodGenerator;

public class QueryByIdsMethodGenerator extends AbstractJavaMapperMethodGenerator {
    private boolean isSimple;

    public QueryByIdsMethodGenerator() {
    }

    public void addInterfaceElements(Interface interfaze) {
        Set<FullyQualifiedJavaType> importedTypes = new TreeSet();
        importedTypes.add(FullyQualifiedJavaType.getNewListInstance());
        Method method = new Method("caigua");
        method.setVisibility(JavaVisibility.PUBLIC);
        FullyQualifiedJavaType returnType = FullyQualifiedJavaType.getNewListInstance();
        FullyQualifiedJavaType respListType = new FullyQualifiedJavaType(this.introspectedTable.getBaseRecordType());
        importedTypes.add(respListType);
        returnType.addTypeArgument(respListType);
        method.setReturnType(returnType);
        method.setName(((CustomizeIntrospectedTableMyBatis3Impl)this.introspectedTable).getQueryByIds());
        FullyQualifiedJavaType parameterType = FullyQualifiedJavaType.getNewListInstance();
        parameterType.addTypeArgument(PrimitiveTypeWrapper.getLongInstance());
        importedTypes.add(FullyQualifiedJavaType.getNewListInstance());
        importedTypes.add(PrimitiveTypeWrapper.getLongInstance());
        method.addParameter(new Parameter(parameterType, "ids"));
        this.addMapperAnnotations(interfaze, method);
        this.context.getCommentGenerator().addGeneralMethodComment(method, this.introspectedTable);
        if (this.context.getPlugins().clientSelectByPrimaryKeyMethodGenerated(method, interfaze, this.introspectedTable)) {
            interfaze.addImportedTypes(importedTypes);
            interfaze.addMethod(method);
        }

    }

    public void addMapperAnnotations(Interface interfaze, Method method) {
    }
}
